package com.swing.panel;

import javax.swing.*;
import java.awt.*;

/**
 * UI面板类，继承自JPanel
 * 用于展示游戏中的用户界面元素（如分数显示、控制按钮等）
 * 作为顶层面板，通常叠加在游戏面板之上，提供用户交互功能
 */
public class UIPanel extends JPanel {

    // 分数显示标签，用于实时展示游戏分数
    private JLabel scoreLabel;
    // 暂停按钮，用于控制游戏暂停/继续
    private JButton pauseBtn;

    /**
     * 构造方法：初始化UI面板及其中的控件
     */
    public UIPanel() {
        // 设置布局管理器为FlowLayout，左对齐
        // 参数说明：FlowLayout.LEFT（左对齐）、水平间距20px、垂直间距10px
        // 适合排列按钮、标签等小型UI元素
        setLayout(new FlowLayout(FlowLayout.LEFT, 20, 10));

        // 设置面板为透明
        // 确保不会遮挡下层的游戏面板和背景面板
        setOpaque(false);

        // 初始化分数标签
        scoreLabel = new JLabel("Score: 0");
        // 设置字体：Arial字体、粗体、20号大小
        scoreLabel.setFont(new Font("Arial", Font.BOLD, 20));
        // 设置文字颜色为白色（适合深色背景）
        scoreLabel.setForeground(Color.WHITE);
        // 将标签添加到面板中
        add(scoreLabel);

        // 初始化暂停按钮
        pauseBtn = new JButton("Pause");
        // 为按钮添加点击事件监听器
        pauseBtn.addActionListener(e -> {
            // 点击按钮时输出日志（实际开发中可替换为暂停游戏逻辑）
            System.out.println("Pause button clicked");
        });
        // 将按钮添加到面板中
        add(pauseBtn);
    }

    public void update(float deltaTime) {
        
    }

    public void render() {
        
    }
}
    